package com.raindrop.rd.util;

/**
 * 字符串工具类
 *
 * @author BillDowney
 * @date 2021/3/24 10:42
 */
public class StringUtils {

    /**
     * 判断字符串是否为null或空字符串
     *
     * @param str 判断的字符串
     * @return true/false
     */
    public static boolean isEmpty(CharSequence str) {
        return str == null || str.length() == 0;
    }

    /**
     * 调用{@link StringUtils#isEmpty}
     *
     * @param str 判断的字符串
     * @return true/false
     */
    public static boolean isNotEmpty(CharSequence str) {
        return !isEmpty(str);
    }

    /**
     * 判断字符串是否相等
     *
     * @param str1       比较的字符串1
     * @param str2       比较的字符串2
     * @param ignoreCase 是否忽略大小写
     * @return true/false
     */
    public static boolean equals(CharSequence str1, CharSequence str2, boolean ignoreCase) {
        if (null == str1 || null == str2) {
            return str1 == str2;
        }
        if (ignoreCase) {
            return str1.toString().equalsIgnoreCase(str2.toString());
        } else {
            return str1.toString().contentEquals(str2);
        }
    }

    /**
     * 判断字符串是否相等
     *
     * @param str1 比较的字符串1
     * @param str2 比较的字符串2
     * @return true/false
     */
    public static boolean equals(CharSequence str1, CharSequence str2) {
        return equals(str1, str2, false);
    }

}
